#include "app_runner.h"
#include "app_bt.h"
#include "app_device.h"
#include "log/log.h"
#include <unistd.h>
#include <signal.h>

static int is_running = 1;

void exit_handler (int signum)
{
    is_running = 0;
}

int app_runner_run()
{
    // 注册进程结束信号处理函数
    signal(SIGINT, exit_handler);
    signal(SIGTERM, exit_handler);

    // 初始化设备（内部初始化线程池和MQTT客户端）
    Device *device = app_device_init(SERIAL_PATH);
    // 初始化蓝牙(内部初始化串口)
    app_bt_init(device);
    // 启动设备
    app_device_start();
    // 当运行标识为1时，一直运行
    while(is_running==1)
    {
        sleep(1);
    }
    // 标识为0销毁设备
    app_device_destroy();
}